<?php
require_once ('controller/PersistentController.php');
require_once ('model/UserTools.php');


class RegistrazioneController extends PersistentController
{

	public function run() {
		/*
		 * Se l'utente è già loggato, lo spediamo alla selezione del film
		*/
		if (UserTools::userIsLogged() && UserTools::userIsRole('utente')) {
			$this->_redirect('film');
		}

		if ($this->_getRequest()->isPost()) {
			$data = $this->_getRequest()->getPost('signup');
			$errors = UserTools::validateUserSignup($data);

			// Se non ci sono stati errori di compilazione, salvo l'utente su DB
			if (empty($errors)) {
	
				//create the new user object
				$newUser = new User($data);
		
				//save the new user to the database
				$newUser->save(true);
				
				//utilizziamo un differente controller per comunicare l'esito positivo
				SessionTools::set('canSendSignupEmail', true);
				$this->_redirect('registrazione_ok', array('email' => $data['email']));
			}
			
			else {
				$this->_view->signup = $this->_getRequest()->getPost('signup'); 
				$this->_view->errors = $errors;
			}
		}
	}
}